The cryptographic technique of encryption to secure communications data and stored data appears to be employed more often. In this context, the data are enciphered (or encrypted) under the control of a cryptographic key. The data can also be deciphered again using the same key. Marketable products and software libraries may be available for this purpose.
In encryption operations, a so-called hybrid method may be used. In this method, the actual message is encrypted using a randomly selected symmetric key or session key and a preselected symmetric encryption method, e.g., Data Encryption Standard (DES) and/or International Data Encryption Algorithm(IDEA). The session key is then encrypted, in turn, in each case using the public key of the receiver (a plurality of receivers may be involved) and using a predefined asymmetric or public key method, e.g., Rivest, Shamir, Adleman code (RSA) and/or EIGamal (a public key encryption algorithm). The session key encrypted using this process is included with the encrypted message for each receiver. The reference “Cryptography and Network Security: Principles and Practice”, by William Stallings, Prentice Hall, Upper Saddle River, N.J., 1998, appears discuss this procedure and the algorithms employed.
To decode a received message, the receiver must first decipher the session key using his/her private key, which belongs to his/her public key, and a preselected public key algorithm, to then decrypt the message using this session key.
Besides encrypting messages, cryptographic methods may also be used to encrypt stored data, e.g., on one's own personal computer. Here as well, one may employ a hybrid method, where the user first encrypts the data using a randomly selected symmetric key or session key and a predefined symmetric encryption method, e.g., DES and/or IDEA. The session key is then encrypted, in turn, using the user's public key and a preselected asymmetric or public key method, e.g., RSA and/or EIGamal.
Using his/her private key, which belongs to his/her public key, and the predefined public key algorithm, the user first encrypts the session key and then, using this session key, the stored data.
In the following, the term “encryption key” is used in each case to refer to the user's, i.e., the receiver's, private key.
The encryption key is either stored on a smart card, access to the smart card being protected by a personal identification number (PIN) known only to the user, or it is stored on another storage medium (for example, a hard disk or diskette), in which case it is preferably protected by a long password.
It can happen that the encryption key is lost. For example, if the storage medium where it was located is destroyed, or if the user forgets the PIN number or the password which he/she used to secure the encryption key, then it is no longer possible to use it to access the encrypted data.
To be able to make encrypted data accessible again in the event the encryption key is lost, mechanisms are needed to enable the encryption key to be regenerated in a secure manner. For this purpose, the encryption key is typically generated nowadays at a trust center or trustee or confidential, central location and securely stored. As a rule, the encryption key is produced by initially generating a large random number (seed) using a statistically valid random process. From this random number, the key pair made up of the public key/private key is then generated with the aid of a deterministic method. This seed is subsequently deleted. If necessary, a copy of his/her encryption key is then delivered to the user for use.
In the process, the user does not have any influence on how his/her encryption key is generated and stored. Moreover, it is expensive to transport the generated encryption key to the user in a secure manner. As a transport medium, nowadays, one uses, for example, the above-mentioned smart card, which is sent to the user. Further, there is a danger of misuse of the stored key by the trust center, or one's own key becoming publicly known due to a malfunction by the trust center and/or in the procedure.